Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

atmosphere.h

Go to the documentation of this file.
00001 /* -*- c -*- */
00002 #ifndef INCLUDED_LIB3DS_ATMOSPHERE_H
00003 #define INCLUDED_LIB3DS_ATMOSPHERE_H
00004 /*
00005  * The 3D Studio File Format Library
00006  * Copyright (C) 1996-2001 by J.E. Hoffmann <je-h@gmx.net>
00007  * All rights reserved.
00008  *
00009  * This program is  free  software;  you can redistribute it and/or modify it
00010  * under the terms of the  GNU Lesser General Public License  as published by 
00011  * the  Free Software Foundation;  either version 2.1 of the License,  or (at 
00012  * your option) any later version.
00013  *
00014  * This  program  is  distributed in  the  hope that it will  be useful,  but
00015  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
00016  * or  FITNESS FOR A  PARTICULAR PURPOSE.  See the  GNU Lesser General Public  
00017  * License for more details.
00018  *
00019  * You should  have received  a copy of the GNU Lesser General Public License
00020  * along with  this program;  if not, write to the  Free Software Foundation,
00021  * Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
00022  *
00023  * $Id: atmosphere.h,v 1.1 2005/03/07 11:16:25 Assassin Exp $
00024  */
00025 
00026 #ifndef INCLUDED_LIB3DS_TYPES_H
00027 #include <lib3ds/types.h>
00028 #endif
00029 
00030 #ifdef __cplusplus
00031 extern "C" {
00032 #endif
00033 
00034 /*!
00035  * Fog atmosphere settings
00036  * \ingroup atmosphere
00037  */
00038 typedef struct _Lib3dsFog {
00039     Lib3dsBool use;
00040     Lib3dsRgb col;
00041     Lib3dsBool fog_background;
00042     Lib3dsFloat near_plane;
00043     Lib3dsFloat near_density;
00044     Lib3dsFloat far_plane;
00045     Lib3dsFloat far_density;
00046 } Lib3dsFog;
00047 
00048 /*!
00049  * Layer fog atmosphere flags
00050  * \ingroup atmosphere
00051  */
00052 typedef enum _Lib3dsLayerFogFlags {
00053   LIB3DS_BOTTOM_FALL_OFF =0x00000001,
00054   LIB3DS_TOP_FALL_OFF    =0x00000002,
00055   LIB3DS_FOG_BACKGROUND  =0x00100000
00056 } Lib3dsLayerFogFlags;
00057 
00058 /*!
00059  * Layer fog atmosphere settings
00060  * \ingroup atmosphere
00061  */
00062 typedef struct _Lib3dsLayerFog {
00063     Lib3dsBool use;
00064     Lib3dsDword flags;
00065     Lib3dsRgb col;
00066     Lib3dsFloat near_y;
00067     Lib3dsFloat far_y;
00068     Lib3dsFloat density;
00069 } Lib3dsLayerFog;
00070 
00071 /*!
00072  * Distance cue atmosphere settings
00073  * \ingroup atmosphere
00074  */
00075 typedef struct _Lib3dsDistanceCue {
00076     Lib3dsBool use;
00077     Lib3dsBool cue_background;
00078     Lib3dsFloat near_plane;
00079     Lib3dsFloat near_dimming;
00080     Lib3dsFloat far_plane;
00081     Lib3dsFloat far_dimming;
00082 } Lib3dsDistanceCue;
00083 
00084 /*!
00085  * Atmosphere settings
00086  * \ingroup atmosphere
00087  */
00088 struct _Lib3dsAtmosphere {
00089     Lib3dsFog fog;
00090     Lib3dsLayerFog layer_fog;
00091     Lib3dsDistanceCue dist_cue;
00092 };
00093 
00094 extern LIB3DSAPI Lib3dsBool lib3ds_atmosphere_read(Lib3dsAtmosphere *atmosphere, Lib3dsIo *io);
00095 extern LIB3DSAPI Lib3dsBool lib3ds_atmosphere_write(Lib3dsAtmosphere *atmosphere, Lib3dsIo *io);
00096 
00097 #ifdef __cplusplus
00098 };
00099 #endif
00100 #endif

Generated on Mon Sep 12 19:58:18 2005 for Destiny3D by doxygen1.3-rc3